package com.dhecp.project.business.mapper;

import com.dhecp.project.business.domain.FbaLogsticsOrderSelect;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

import com.dhecp.core.genericDao.GenericDao;
import com.dhecp.project.business.domain.FbaLogsticsOrder;

/**
 * DAO
 * @author Jason
 */
public interface FbaLogsticsOrderMapper extends GenericDao<FbaLogsticsOrder, String>  {

	/**
     * 查询实体
     * @author Jason
	 */
	List<FbaLogsticsOrder> findFbaLogsticsOrder(Map<String, Object> params);

	List<FbaLogsticsOrder> findFbaLogsticsOrderBatch(List<FbaLogsticsOrder> fbaLogsticsOrderList);

	/**
     * 查询单个实体
     * @author Jason
	 */
	FbaLogsticsOrder queryFirstByGuid(@Param("guid") String guid);
	
	/**
	 * 新增实体
     * @author Jason
	 */
	int insertFbaLogsticsOrder(FbaLogsticsOrder entity);
	
	/**
	 * 通过guid修改实体
     * @author Jason
	 */
	int updateByGuid(FbaLogsticsOrder entity);

	/**
	 * 根据订单编号修改状态
	 * @return
	 */
	int updateByState(FbaLogsticsOrder entity);

	//    通过list集合实现批量删除
	void deleteByCodes(@Param("codes") List<String> codes);

	/**
	 * 查询是否重复
	 * @author fxz
	 */
	int countFbaLogsticsOrder(FbaLogsticsOrder entity);

	List<FbaLogsticsOrder> repetitionList(List<FbaLogsticsOrder> fbaLogsticsOrderList);

	List<FbaLogsticsOrderSelect> findFbaLogsticsOrderSelect(Map<String, Object> params);

	/**
	 * 查询单个实体
	 * @author Jason
	 */
	FbaLogsticsOrder queryFirstByLogisticsOrderCode(@Param("logisticsOrderCode") String logisticsOrderCode);

}
